#pragma once

namespace qbe::draw {

struct PolygonCacheAddTag {};
struct PolygonCacheUpdateTag {};
struct PolygonCacheDeleteTag {};
struct PolygonAddTag {};

struct PathCacheAddTag {};
struct PathCacheUpdateTag {};
struct PathCacheDeleteTag {};
struct PathAddTag {};

struct LabelCacheAddTag {};
struct LabelCacheUpdateTag {};
struct LabelCacheDeleteTag {};
struct LabelAddTag {};

struct PinCacheAddTag {};
struct PinCacheUpdateTag {};
struct PinCacheDeleteTag {};
struct PinAddTag {};

struct KeyPointCacheAddTag {};
struct KeyPointCacheUpdateTag {};
struct KeyPointCacheDeleteTag {};
struct KeyPointAddTag {};

struct EllipseCacheAddTag {};
struct EllipseCacheUpdateTag {};
struct EllipseCacheDeleteTag {};
struct EllipseAddTag {};

struct FanCacheAddTag {};
struct FanCacheUpdateTag {};
struct FanCacheDeleteTag {};
struct FanAddTag {};

struct RectangleCacheAddTag {};
struct RectangleCacheUpdateTag {};
struct RectangleCacheDeleteTag {};
struct RectangleAddTag {};

struct TextCacheAddTag {};
struct TextCacheUpdateTag {};
struct TextCacheDeleteTag {};
struct TextAddTag {};

struct RulerCacheAddTag {};
struct RulerCacheUpdateTag {};
struct RulerCacheDeleteTag {};
struct RulerAddTag {};

struct SectionArea3DCacheAddTag {};
struct SectionArea3DCacheUpdateTag {};
struct SectionArea3DCacheDeleteTag {};
struct SectionArea3DAddTag {};

struct ViewArea3DCacheAddTag {};
struct ViewArea3DCacheUpdateTag {};
struct ViewArea3DCacheDeleteTag {};
struct ViewArea3DAddTag {};

}  // namespace qbe::draw